﻿<Window     
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="clr-namespace:Microsoft.PowerShell.CmdletManagement"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" x:Name="window" mc:Ignorable="d"
    xmlns:CmdletDesigner="clr-namespace:CmdletDesigner"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    x:Class="Microsoft.PowerShell.CmdletManagement.CmdletDesigner"
    xmlns:themes="clr-namespace:WPF.Themes;assembly=WPF.Themes"
    themes:ThemeManager.Theme="{Binding ElementName=themes, Path=SelectedItem}"

    Title="PowerShell Studio - Command Designer"
    Height="700"
    Width="900"
    ResizeMode="CanResizeWithGrip" SizeToContent="Manual"
    >
    <Window.Resources>
        <DataTemplate x:Key="HeaderTemplateArrowUp">
            <DockPanel>
                <TextBlock HorizontalAlignment="Center" Text="{Binding}"/>
                <Path x:Name="arrow"
                   StrokeThickness = "1"                                      
                   Fill            = "gray"
                   Data            = "M 5,10 L 15,10 L 10,5 L 5,10"/>
            </DockPanel>
        </DataTemplate>
        <DataTemplate x:Key="HeaderTemplateArrowDown">
            <DockPanel>
                <TextBlock HorizontalAlignment="Center" Text="{Binding ''}"/>
                <Path x:Name="arrow"
                      StrokeThickness = "1"                                   
                      Fill            = "gray"
                      Data            = "M 5,5 L 10,10 L 15,5 L 5,5"/>
            </DockPanel>
        </DataTemplate>
        <SolidColorBrush x:Key="YellowNew" Color="#FFFFFF00"/>
        <SolidColorBrush x:Key="RedOld" Color="#FFFFA7A7"/>

    </Window.Resources>

    <DockPanel LastChildFill="True">
        <StatusBar DockPanel.Dock="Bottom">
                <StatusBar.ItemsPanel>
                    <ItemsPanelTemplate>
                        <Grid>
                            <Grid.RowDefinitions>
                                <RowDefinition Height="*"/>
                            </Grid.RowDefinitions>
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition Width="auto"/>
                            <ColumnDefinition Width="auto"/>
                            <ColumnDefinition Width="auto"/>
                                <ColumnDefinition Width="auto"/>
                                <ColumnDefinition Width="*"/>
                            </Grid.ColumnDefinitions>
                        </Grid>
                    </ItemsPanelTemplate>
                </StatusBar.ItemsPanel>
                <StatusBarItem>
                    <Label x:Name="lblProject" Content="Project: -" Margin="0"  />
                </StatusBarItem>
            <StatusBarItem Grid.Column="1">
                <TextBlock><Run Text="-"/></TextBlock></StatusBarItem>
            <StatusBarItem Grid.Column="2">                                    
                    <Label x:Name="lblUser" Content="User: Guest" Margin="0" />
                </StatusBarItem>
                <StatusBarItem Grid.Column="3">
                    <Label x:Name="lblRole" Content="Role: Guest" Margin="0"  />
            </StatusBarItem>
                <StatusBarItem Grid.Column="4" HorizontalAlignment="Right">
                <Label x:Name="lblAppVersion" Margin="0" Content="Version: 0.0.0.0" />
            </StatusBarItem>
        </StatusBar>
        
        <Grid DockPanel.Dock="Top"  Height="Auto" Margin="0,0,0,4">
            <Grid.RowDefinitions>
                <RowDefinition />
                <RowDefinition Height="2"/>
            </Grid.RowDefinitions>
            <ToolBar x:Name="GlobalTools" VerticalAlignment="Top" HorizontalAlignment="Stretch">
                <Button Margin="0,0,5,0" x:Name="btnLogin" Click="Click_Login">
                    <StackPanel Orientation="Horizontal">
                        <Image Source="images/key.png" Height="16" />
                        <TextBlock Padding="4"><Run Text="Login"/></TextBlock>
                    </StackPanel>
                </Button>
                <Button Margin="0,0,5,0" x:Name="btnLogout" Click="Click_Logout" Visibility="Collapsed">
                    <StackPanel Orientation="Horizontal">
                        <Image Source="images/key.png" Height="16" />
                        <TextBlock Padding="4"><Run Text="Logout"/></TextBlock>
                    </StackPanel>
                </Button>
                <Button Margin="0,0,5,0" x:Name="btnToggle" Click="Click_Toggle" IsEnabled="False">
                    <StackPanel Orientation="Horizontal">
                        <Image Source="images/disconnect.png" Height="16" x:Name="imgToggleIcon" />
                        <Label Content="Go Offline" x:Name="lblToggleText" IsEnabled="{Binding}" />
                    </StackPanel>
                </Button>

                <Separator />
                
                <Button Margin="0,0,5,0" x:Name="btnProjectSave" Click="Click_SaveChanges" IsEnabled="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type local:CmdletDesigner}}, Path=IsLoggedIn}">
                	<StackPanel Orientation="Horizontal">
                		<Image Source="images/disk.png" Height="16"/>
                		<Label Content="_Save Changes"/>
                	</StackPanel>
                </Button>

                <Label Content="F_ont size" x:Name="lblFontSize" Target="{Binding ElementName=FontSlider}" Margin="0,3,0,0"/>
                <Slider x:Name="FontSlider" Value="12" LargeChange="2" Maximum="24" Minimum="8" SmallChange="2" TickFrequency="2"
						TickPlacement="BottomRight" Width="120" Margin="0,3,0,0" MouseDoubleClick="DoubleClick_FontSlider"/>

                <Separator/>

                <!--<Button Margin="0,0,5,0" x:Name="btnProjectFileBug" Click="Click_FileBug">
					<StackPanel Orientation="Horizontal">
						<Image Source="images/email_Icon.png" Height="16"/>
						<Label Content="Send _Feedback on this Tool"/>
					</StackPanel>
				</Button>-->
                
                <Button Margin="0,0,5,0" x:Name="btnAutomation" Click="Click_AutomationConsole">
                    <StackPanel Orientation="Horizontal" >
                        <Image Source="images/ps16x16.png" Height="16"/>
                        <Label Content="_PowerShell"/>
                    </StackPanel>
                </Button>

                <Button Margin="0,0,5,0" x:Name="btnProjectLinkWeb" Click="Click_WebsiteLink">
                    <StackPanel Orientation="Horizontal" >
                        <Image Source="images/house.png" Height="16"/>
                        <Label Content="_Website"/>
                    </StackPanel>
                </Button>

                <Button Margin="0,0,5,0" x:Name="btnProjectHelp" Click="Click_Help" HorizontalAlignment="Center">
                    <StackPanel Orientation="Horizontal" >
                        <Image Source="images/Help.png" Height="16"/>
                        <Label Content="Help"/>
                    </StackPanel>
                </Button>
                
            </ToolBar>

            <Rectangle Fill="#FF2A73BE" Stroke="{x:Null}" HorizontalAlignment="Stretch" Width="Auto" Grid.Row="1" Grid.RowSpan="1"/>
        </Grid>

        <TabControl x:Name="NavigationTabs" 
			DockPanel.Dock="Top" FontSize="{Binding Value, ElementName=FontSlider, Mode=Default}">

            <TabItem Header="Projects" x:Name="ProjectTab" d:IsHidden="True">
                <DockPanel Background="{DynamicResource {x:Static SystemColors.WindowBrushKey}}">
                    <DockPanel x:Name="ProjectsListTools" DockPanel.Dock="Top" Background="{DynamicResource LocalToolbarGradient}" Margin="-4,-4,-4,0">
                        <Button Margin="0,3,5,3"  Click="Click_LoadProject" Content="Load Selected Project" Style="{DynamicResource LocalToolbarButton}" HorizontalAlignment="Left"/>
                        <Button IsEnabled="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type local:CmdletDesigner}}, Path=IsLoggedIn}" Width="105" Margin="2,3,5,3"  Click="Click_NewProject" Content="Manage Projects" Style="{DynamicResource LocalToolbarButton}" HorizontalAlignment="Left"/>

                    </DockPanel>
                    <Grid>

                        <DockPanel>
                            <StackPanel DockPanel.Dock="Left" Width="150" Background="{DynamicResource {x:Static SystemColors.WindowBrushKey}}" Margin="0,0,0,0">
                                <TextBlock FontWeight="Bold" Margin="5,10,0,5"><Run Text="Search Projects"/></TextBlock>
                                <TextBox x:Name="ProjectSearch" VerticalAlignment="Top"  TextChanged="ProjectSearch_TextChanged"
								GotFocus="ProjectSearch_GotFocus" LostFocus="ProjectSearch_LostFocus"
								Foreground="#88000000" Margin="5,0,10,20" HorizontalAlignment="Stretch"
								Width="Auto" Text="Search"/>
                            </StackPanel>
                            <Rectangle Fill="{DynamicResource NavigationBorder}" Width="2"/>
                            <ListView x:Name="Projects" ItemsSource="{Binding}"
							Loaded="Projects_SizeOrDataChanged"
							SizeChanged="Projects_SizeOrDataChanged"
							ButtonBase.Click="Click_ProjectsColumnHeader"
							MouseDoubleClick="DoubleClick_SelectProject" IsEnabled="True">

                                <ListView.View>
                                    <GridView x:Name="ProjectsView">
                                        <GridViewColumn DisplayMemberBinding="{Binding Name}" 
										HeaderTemplate="{StaticResource HeaderTemplateArrowUp}">
                                            <GridViewColumnHeader Content="Name" MinWidth="120" />
                                        </GridViewColumn>
                                        <GridViewColumn DisplayMemberBinding="{Binding Description}">
                                            <GridViewColumnHeader Content="Description" MinWidth="120" />
                                        </GridViewColumn>
                                        <GridViewColumn DisplayMemberBinding="{Binding Owner}">
                                            <GridViewColumnHeader Content="Owner" MinWidth="120" />
                                        </GridViewColumn>
                                        <GridViewColumn DisplayMemberBinding="{Binding Id}">
                                            <GridViewColumnHeader Content="Id" MinWidth="120" />
                                        </GridViewColumn>
                                    </GridView>
                                </ListView.View>
                            </ListView>
                        </DockPanel>
                        <StackPanel x:Name="ProgressIndicator" Width="200.659" Height="20.667" Canvas.Left="132.667" Canvas.Top="130.833" Orientation="Horizontal" Margin="0,0,0,0" Panel.ZIndex="0">
                            <TextBlock Width="100" Height="20.667" 
								Text="Loading Projects..." 
								TextWrapping="Wrap"
					   		HorizontalAlignment="Center" Margin="-5,0,0,0" FontWeight="Normal" Foreground="#000000"
					   		/>
                            <ProgressBar Margin="0,0,0,0" Width="100" Height="10" IsIndeterminate="True"/>
                        </StackPanel>
                    </Grid>
                </DockPanel>


            </TabItem>

            <TabItem Header="Permissions" x:Name="PermissionTab" Visibility="Hidden" d:IsHidden="True">
                <DockPanel VerticalAlignment="Stretch" Background="{DynamicResource {x:Static SystemColors.WindowBrushKey}}">
                    <DockPanel x:Name="PermissionsTools" DockPanel.Dock="Top" Background="{DynamicResource LocalToolbarGradient}" Margin="-4,-4,-4,0">
                        <Button IsEnabled="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type local:CmdletDesigner}}, Path=IsLoggedIn}" Margin="2,3,5,3" Click="Click_AddUser" Content="New Project User" Style="{DynamicResource LocalToolbarButton}"/>
                        <Button IsEnabled="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type local:CmdletDesigner}}, Path=IsLoggedIn}" Margin="0,3,5,3" Click="Click_RemoveUser" Content="Remove User" Style="{DynamicResource LocalToolbarButton}" HorizontalAlignment="Left"/>
                    </DockPanel>

                    <DockPanel Margin="10,10,10,10">
                        <Grid DockPanel.Dock="Left" Margin="0,0,20,0">
                            <Grid.RowDefinitions>
                                <RowDefinition Height="Auto" />
                                <RowDefinition />
                            </Grid.RowDefinitions>

                            <TextBlock Grid.Row="0" Text="Roles in this project" Margin="0,0,0,5" />
                            <ListView Grid.Row="1" MaxWidth="250" ScrollViewer.HorizontalScrollBarVisibility="Disabled"
								x:Name="UsersList" ItemsSource="{Binding}" SelectedIndex="0" Width="200">
                                <ListView.ItemTemplate>
                                    <DataTemplate>
                                        <StackPanel Margin="2,2,5,2">
                                            <TextBlock Text="{Binding User}" Margin="0,2,0,2" />
                                            <TextBlock  Text="{Binding Role}" Margin="10,2,0,0" />
                                            <TextBlock  Text="{Binding Id}" Margin="10,2,0,0" Visibility="Hidden"/>
                                        </StackPanel>
                                    </DataTemplate>
                                </ListView.ItemTemplate>
                            </ListView>
                        </Grid>
                        <StackPanel DockPanel.Dock="Top">
                            <local:ExtendedTextBlock x:Name="UserName" Label="User"
								HelpText="The name of the selected user. Example: REDMOND\Billg" 
								Value="{Binding SelectedItem.User, ElementName=UsersList, Mode=TwoWay}"
                                                     />
                        </StackPanel>

                        <StackPanel DockPanel.Dock="Top" Margin="0,10,0,0">
                            <local:ExtendedTextBlock x:Name="UserRole" Label="Roles"
								HelpText="Specify a role for the user. Valid roles are: &quot;SpecWriter, ProjectOwner, HelpWriter&quot;"
								Value="{Binding SelectedItem.Role, ElementName=UsersList, Mode=TwoWay}"
                                                     />
                        </StackPanel>
                    </DockPanel>
                </DockPanel>

            </TabItem>
            <TabItem x:Name="HistoryTab"  Visibility="Hidden" Header="History" d:IsHidden="True">

                <DockPanel VerticalAlignment="Stretch" Background="{DynamicResource {x:Static SystemColors.WindowBrushKey}}">
                    <DockPanel x:Name="HistoryTools" DockPanel.Dock="Top" Background="{DynamicResource LocalToolbarGradient}" Margin="-4,-4,-4,0">
                        <Button Margin="2,3,5,3" Click="Click_GetHistory" Content="Get-History" Style="{DynamicResource LocalToolbarButton}" HorizontalAlignment="Left"/>


                    </DockPanel>


                    <GroupBox HorizontalAlignment="Left" VerticalAlignment="Top" Margin="0,0,0,0">
                        <GroupBox.Header>
                            <StackPanel Width="Auto" Height="Auto" VerticalAlignment="Center" Orientation="Horizontal">
                                <TextBlock Text="History" TextWrapping="NoWrap" VerticalAlignment="Bottom" FontSize="16" FontWeight="Bold"/>
                                <TextBlock Text=" -" TextWrapping="NoWrap" VerticalAlignment="Bottom"/>
                                <TextBlock Text=" yellow means new " TextWrapping="NoWrap" VerticalAlignment="Bottom" Background="{DynamicResource YellowNew}"/>
                                <TextBlock Text=" and " TextWrapping="NoWrap" VerticalAlignment="Bottom"/>
                                <TextBlock Text=" red means old " TextWrapping="NoWrap" VerticalAlignment="Bottom" Background="{DynamicResource RedOld}"/>
                            </StackPanel>
                        </GroupBox.Header>

                        <Grid DockPanel.Dock="Top" Margin="0,0,0,0">
                            <Grid.RowDefinitions>
                                <RowDefinition Height = "55"/>
                                <RowDefinition />
                                <RowDefinition Height = "50"/>
                            </Grid.RowDefinitions>
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition />
                                <ColumnDefinition />
                                <ColumnDefinition />
                                <ColumnDefinition />
                            </Grid.ColumnDefinitions>


                            <local:ExtendedTextBlock x:Name="HistoryFromDate" Label="From"
                                                HelpText="Start date."                                              
												
												 Grid.Row="0" Grid.Column="0"												 
                                                />
                            <local:ExtendedTextBlock x:Name="HistoryToDate" Label="To"
                                                HelpText="End date."                                                
												
												 Grid.Row="0" Grid.Column="1"
                                                />

                            <local:ExtendedHistoryChangeTypesComboBox x:Name="ChangeType" Label="Search Type"
								HelpText="&quot;Project, Cmdlet&quot;"								
								Grid.Row="0" Grid.Column="2"
								                    />
                            <local:ExtendedTextBlock x:Name="CmdletNameChanges" Label="Cmdlet Name"
                                                HelpText="Wild cards allowed."                                                
												
												 Grid.Row="0" Grid.Column="3"
                                                />
                            <FlowDocumentPageViewer  Width="Auto" Height="Auto" x:Name="PageViewer"
			HorizontalAlignment="Stretch" HorizontalContentAlignment="Stretch" 
							Grid.Row="1" Grid.Column = "0" Grid.ColumnSpan = "4" >
                                <FlowDocument  ColumnRuleWidth="2" ColumnRuleBrush="Gray"  >
                                    <Paragraph x:Name="PageViewerParagraph" DataContext="{Binding}"/>
                                </FlowDocument>
                            </FlowDocumentPageViewer>
                            <DockPanel Grid.Row="2" Grid.Column = "0" Grid.ColumnSpan = "4" 
                                 Width="140" Height="25" HorizontalAlignment="Center" Margin="0,0,0,0" Panel.ZIndex="50">

                                <TextBlock Text="Go To Page " VerticalAlignment="Center"/>
                                <TextBox x:Name="JumpToSpecificPage" Text="1" VerticalAlignment="Center" Margin="0,0,4,0" Width="40"/>
                                <Button Click="Click_GoToHistoryPage" Content="&gt;&gt;" Background="#FF267AC3" Margin="0,0,0,0" VerticalAlignment="Center" HorizontalAlignment="Left"/>
                            </DockPanel>
                        </Grid>
                    </GroupBox>

                </DockPanel>

            </TabItem>
            <TabItem Header="Nouns" x:Name="NounsTab" Visibility="Hidden" d:IsHidden="True">
                <DockPanel VerticalAlignment="Stretch" Background="{DynamicResource {x:Static SystemColors.WindowBrushKey}}">
                    <DockPanel x:Name="NounsTools" DockPanel.Dock="Top" Background="{DynamicResource LocalToolbarGradient}" Margin="-4,-4,-4,0">
                        <Button IsEnabled="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type local:CmdletDesigner}}, Path=IsLoggedIn}" Margin="2,3,5,3" Click="Click_AddNoun" Content="New Noun" Style="{DynamicResource LocalToolbarButton}"/>
                        <Button IsEnabled="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type local:CmdletDesigner}}, Path=IsLoggedIn}" Margin="0,3,5,3" Click="Click_DeleteNoun" Content="Delete Noun" Style="{DynamicResource LocalToolbarButton}" HorizontalAlignment="Left"/>
                    </DockPanel>

                    <DockPanel Margin="10,10,10,10">
                        <Grid DockPanel.Dock="Left" Margin="0,0,20,0">
                            <Grid.RowDefinitions>
                                <RowDefinition Height="Auto" />
                                <RowDefinition />
                            </Grid.RowDefinitions>

                            <TextBlock Grid.Row="0" Text="Nouns in this project" Margin="0,0,0,5" />
                            <ListView Grid.Row="1" MaxWidth="250" ScrollViewer.HorizontalScrollBarVisibility="Disabled"
								x:Name="NounList" ItemsSource="{Binding}" SelectedIndex="0" Width="200">
                                <ListView.ItemTemplate>
                                    <DataTemplate>
                                        <StackPanel Margin="2,2,5,2">
                                            <TextBlock Text="{Binding Name}" Margin="0,2,0,2" />
                                            <TextBlock  Text="{Binding Definition}" Margin="10,2,0,0" />
                                        </StackPanel>
                                    </DataTemplate>
                                </ListView.ItemTemplate>
                            </ListView>
                        </Grid>
                        <StackPanel DockPanel.Dock="Top">
                            <local:ExtendedTextBlock x:Name="NounName" Label="Noun"
								HelpText="The name of this noun" 
								Value="{Binding SelectedItem.Name, ElementName=NounList, Mode=TwoWay}"
                                                     />
                        </StackPanel>
                        <StackPanel DockPanel.Dock="Top" Margin="0,10,0,0">
                            <local:FreeTextExtendedTextBlock x:Name="NounDefinition" Label="Definition"
								HelpText="The definition of this noun" 
								Value="{Binding SelectedItem.Definition, ElementName=NounList, Mode=TwoWay}"
                                                     />
                        </StackPanel>
                    </DockPanel>
                </DockPanel>
            </TabItem>
            <TabItem Header="Commands" x:Name="CmdletsListTab" Visibility="Hidden" d:IsHidden="True">
                <DockPanel Background="{DynamicResource {x:Static SystemColors.WindowBrushKey}}">
                    <DockPanel x:Name="CmdletListTools" DockPanel.Dock="Top" Background="{DynamicResource LocalToolbarGradient}" Margin="-4,-4,-4,0">
                        <Button IsEnabled="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type local:CmdletDesigner}}, Path=IsLoggedIn}" Margin="2,3,5,3"  Click="Click_AddCmdlet" Content="New Command" Style="{DynamicResource LocalToolbarButton}"/>
                        <Button IsEnabled="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type local:CmdletDesigner}}, Path=IsLoggedIn}" Margin="0,3,5,3"  Click="Click_CloneCmdlet" Content="Clone Command" Style="{DynamicResource LocalToolbarButton}"/>
                        <Button IsEnabled="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type local:CmdletDesigner}}, Path=IsLoggedIn}" Margin="0,3,5,3"  Click="Click_EditCmdlet" Content="Edit Command" Style="{DynamicResource LocalToolbarButton}" HorizontalAlignment="Left"/>
                        <Button IsEnabled="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type local:CmdletDesigner}}, Path=IsLoggedIn}" Margin="0,3,5,3"  Click="Click_DeleteCmdlet" Content="Delete Command" Style="{DynamicResource LocalToolbarButton}" HorizontalAlignment="Left"/>
                    </DockPanel>
                    <DockPanel>
                        <StackPanel DockPanel.Dock="Left" Width="150" Background="{DynamicResource {x:Static SystemColors.WindowBrushKey}}" Margin="0,0,0,0">
                            <TextBlock FontWeight="Bold" Margin="5,10,0,5"><Run Text="Search Commands"/></TextBlock>
                            <TextBox x:Name="CmdletSearch" VerticalAlignment="Top"  TextChanged="CmdletSearch_TextChanged"
								GotFocus="CmdletSearch_GotFocus" LostFocus="CmdletSearch_LostFocus"
								Foreground="#88000000" Margin="5,0,10,20" HorizontalAlignment="Stretch"
								Width="Auto" Text="Search"/>
                        </StackPanel>
                        <Rectangle Fill="{DynamicResource NavigationBorder}" Width="2"/>
                        <ListView x:Name="Cmdlets" ItemsSource="{Binding}"
							Loaded="Cmdlets_SizeOrDataChanged"
							SizeChanged="Cmdlets_SizeOrDataChanged"
							ButtonBase.Click="Click_CmdletsColumnHeader"
							MouseDoubleClick="DoubleClick_SelectCmdlet">
                            <ListView.View>
                                <GridView x:Name="CmdletsView">
                                    <GridViewColumn DisplayMemberBinding="{Binding Verb}" 
										HeaderTemplate="{StaticResource HeaderTemplateArrowUp}">
                                        <GridViewColumnHeader Content="Verb" MinWidth="120" />
                                    </GridViewColumn>
                                    <GridViewColumn DisplayMemberBinding="{Binding Noun}">
                                        <GridViewColumnHeader Content="Noun" MinWidth="120" />
                                    </GridViewColumn>
                                    <GridViewColumn DisplayMemberBinding="{Binding ShortDescription}">
                                        <GridViewColumnHeader Content="Short Description" MinWidth="120" />
                                    </GridViewColumn>
                                </GridView>
                            </ListView.View>
                        </ListView>
                    </DockPanel>
                </DockPanel>
            </TabItem>

            <TabItem Visibility="Hidden" Width="25" d:IsHidden="True"/>

            <TabItem x:Name="CmdletTab" Style="{DynamicResource TabItemCmdletEdit}" d:IsHidden="True">
                <DockPanel Background="{DynamicResource {x:Static SystemColors.WindowBrushKey}}">
                    <DockPanel x:Name="CmdletTools" DockPanel.Dock="Top" Background="{DynamicResource LocalToolbarGradient}" Margin="-4,-4,-4,0">
                        <Button IsEnabled="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type local:CmdletDesigner}}, Path=IsLoggedIn}" Margin="2,3,5,3"  Click="Click_NewParameter" Content="New Parameter" Style="{DynamicResource LocalToolbarButton}"/>
                        <Button IsEnabled="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type local:CmdletDesigner}}, Path=IsLoggedIn}" Margin="0,3,5,3"  Click="Click_ImportParameter" Content="Import Parameter" Style="{DynamicResource LocalToolbarButton}" HorizontalAlignment="Left"/>
                        <Button IsEnabled="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type local:CmdletDesigner}}, Path=IsLoggedIn}" Margin="0,3,5,3"  Click="Click_DeleteParameter" Content="Delete Selected Parameters" Style="{DynamicResource LocalToolbarButton}" HorizontalAlignment="Left"/>
                        <TextBlock Margin="25,3,5,3" VerticalAlignment="Center"
                                   Foreground="#FFFFFFFF"><Run Text="Generate Source:"/></TextBlock>
                        <Button Margin="0,3,5,3"  Click="Click_SpecView" Content="HTML Spec" Style="{DynamicResource LocalToolbarButton}" HorizontalAlignment="Left"/>
                        <Button Margin="0,3,5,3"  Click="Click_CmdletGenerator" Content="C# Cmdlet" Style="{DynamicResource LocalToolbarButton}" HorizontalAlignment="Left"/>
                        <Button Margin="0,3,5,3"  Click="Click_FunctionGenerator" Content="Script Function" Style="{DynamicResource LocalToolbarButton}" HorizontalAlignment="Left"/>
                        <Button Margin="0,3,5,3"  Click="Click_HelpGenerator" Content="MAML Help" Style="{DynamicResource LocalToolbarButton}" HorizontalAlignment="Left"/>
                    </DockPanel>

                    <Grid>
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition MinWidth="20" Width="150" />
                            <ColumnDefinition Width="2" />
                            <ColumnDefinition Width="*" />
                        </Grid.ColumnDefinitions>
                        <StackPanel x:Name="CmdletSectionHeaders"
                            ScrollViewer.CanContentScroll="False" 
                            Margin="0,0,0,0">
                            <RadioButton Content="Summary" x:Name="CmdletSummaryHeader" Click="Click_Summary"
								IsChecked="True"
								Style="{DynamicResource LeftMenuButtonRadio}" Margin="0,10,7,0"/>

                            <RadioButton Content="Command Details" x:Name="CmdletDetailsHeader" Click="Click_Details" 
								Style="{DynamicResource LeftMenuButtonRadio}" Margin="0,5,7,0"/>

                            <RadioButton Content="Examples" x:Name="SpecExamplesHeader" Click="Click_SpecExamples"
                                 Style="{DynamicResource LeftMenuButtonRadio}" Margin="0,5,7,0"/>

                            <RadioButton Content="Parameters" x:Name="PsSpecCmdletParametersHeader" Click="Click_Parameters"
                                Style="{DynamicResource LeftMenuButtonRadio}" Margin="0,5,7,-5" />

                            <StackPanel x:Name="ParameterSearchControls"
                                Margin="1,0,7,10"  VirtualizingStackPanel.IsVirtualizing="False">
                                <TextBox x:Name="ParameterSearch" VerticalAlignment="Top"
									TextChanged="ParameterSearch_TextChanged" GotFocus="ParameterSearch_GotFocus" 
									LostFocus="ParameterSearch_LostFocus" Foreground="#88000000"
									Margin="0,2,0,2" Text="Search"/>

                                <ListView MaxHeight="190"  x:Name="ParameterSelector" ItemsSource="{Binding}"									
									GotFocus="ParameterSelector_ItemClick" 									 
									SelectionChanged="ParameterSelector_ItemClick"  
									SelectedIndex="0"
									ScrollViewer.VerticalScrollBarVisibility="Auto" BorderBrush="{x:Null}">
                                    <ListView.ItemTemplate>
                                        <DataTemplate>
                                            <StackPanel  Orientation="Horizontal" >
                                                <TextBlock Text="{Binding Name}" Margin="5,0,3,0" />
                                            </StackPanel>
                                        </DataTemplate>
                                    </ListView.ItemTemplate>
                                </ListView>
                            </StackPanel>
                            <RadioButton 
                                Content="ParameterSet Grid"
                                x:Name="PsSpecCmdletParameterEntriesHeader" 
                                Click="Click_ParameterEntries" 
                                Style="{DynamicResource LeftMenuButtonRadio}" Margin="0,10,7,0"/>
                        </StackPanel>
                        <GridSplitter Background="{DynamicResource NavigationBorder}" Grid.Column="1" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" />
                        <ScrollViewer
							x:Name="CmdletSectionContentWrapper"
							VerticalScrollBarVisibility="Auto"
							Grid.Column="2"
							HorizontalAlignment="Stretch" HorizontalContentAlignment="Stretch" >

                            <StackPanel x:Name="CmdletSectionContent" Margin="3,0,0,0" VirtualizingStackPanel.IsVirtualizing="False">
                                <local:CmdletSummaryControl x:Name="CmdletSummaryContent" />
                                <local:CmdletDetailsControl x:Name="CmdletDetailsContent" />
                                <local:SpecExamplesControl x:Name="SpecExamplesContent" />
                                <local:PsSpecCmdletParametersControl x:Name="PsSpecCmdletParametersContent" />
                                <local:PsSpecCmdletParameterEntriesControl x:Name="PsSpecCmdletParameterEntriesContent" />
                            </StackPanel>
                        </ScrollViewer>
                    </Grid>
                </DockPanel>
            </TabItem>
        </TabControl> 

    </DockPanel>

</Window>
